/*
 * Tilemap.h
 *
 *  Created on: 2009/02/04
 *      Author: Yongshik Cho
 */

#ifndef TILEMAP_H_
#define TILEMAP_H_

#include "RenderObjectContainer.h"
#include "Path.h"
#include "sqplus/sqplus.h"

using namespace SqPlus;

class Tilemap : public RenderObjectContainer
{
public:
	Tilemap(RenderObject* ro = 0);
	virtual ~Tilemap();

public:
	virtual void animate(const String& anim);
	virtual void animate(const uint32 index);
	virtual const Rect2D& getRect();
	virtual void setBlendColor(const Color& c);
	virtual void setAlpha(uint8 alpha);
	virtual void setBlendType(const int32 type);

	inline const uint32 getPathCount() const { return (uint32)mPaths.size(); }
	void addPath(Path* path);
	Path* getPathByName(const String& name);
	Path* getPath(uint32 index);

private:
	vector<Path*>	mPaths;
};

//must be declared here
DECLARE_INSTANCE_TYPE(Tilemap)

#endif /* TILEMAP_H_ */
